﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Kohvik.Kohvikuteenus;

namespace Kohvik {
    public partial class WebForm1 : System.Web.UI.Page 
    {
        ServiceClient webService = new ServiceClient();
        
        protected void Page_Load(object sender, EventArgs e) 
        {            
            String id = Request["uudisID"];
            if (id == null) 
            {                   //kui aadressiribal ei ole ID märgitud, siis näitab kõiki uudiseid
                naitaKoikiUudised();
                LinkButton2.Visible = false;
                LinkButton3.Visible = false;

                //if not logged in hide all buttons
                if (Session["kasutaja_ID"] == null)
                    LinkButton1.Visible = false;

            }
            else 
            {
                int uudisID;
                try { uudisID = Int32.Parse(id); }
                catch (Exception) 
                {
                    lbl_uudised.Text = "<div style='color:red;'>Kontrolli aadressi</div>";
                    return;
                }
                LinkButton2.Visible = true;
                LinkButton3.Visible = true;

                if (Session["kasutaja_ID"] == null)
                {
                    LinkButton1.Visible = false;
                    LinkButton2.Visible = false;
                    LinkButton3.Visible = false;

                }
                
                
                naitaUudist(uudisID);
            }
        }   //END Page_Load()


        private void naitaKoikiUudised() 
        {            
            List<EntityUudis> uudised = webService.getEntityUudisList();
            if (uudised == null) 
            {
                lbl_uudised.Text = "<div style='color:red;'>Ei ole uudiseid</div>";
            }
            else 
            {
                foreach (EntityUudis uudis in uudised) 
                {
                    lbl_uudised.Text += "<div style='color:black;'>"+ uudis.Aeg.ToShortDateString() +"<span style='color:red; margin-left:15px;'>" + "<a href='" + "uudised.aspx?uudisID=" + uudis.uudisID + "' >" + uudis.Pealkiri + "</a>" + "</span>" + "<br /><br /></div>";    
                }                
            }
        }   


        private void naitaUudist(int uudisID) 
        {
            EntityUudis uudis = webService.getEntityUudisById(uudisID);
            if (uudis == null) 
            {
                lbl_uudised.Text = "<div style='color:red;'>Kontrolli aadressi</div>";
            }
            else 
            { 
                lbl_uudised.Text = "<div style='color:black';>" + "<span style='color:red'>" + uudis.Pealkiri + "</span><span style='margin-left:50px;'>" + uudis.Aeg.ToShortDateString() + "</span><br /><br />" + uudis.Uudis + "</div>";
            }
        }

        protected void LinkButton1_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/sisestaUudis.aspx");
        }

        protected void LinkButton2_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/sisestaUudis.aspx?id=" + Request["uudisID"]);
        }

        protected void LinkButton3_Click(object sender, EventArgs e)
        {
            //todo
            int id = Convert.ToInt32(Request["uudisID"]);

            if(id!= 0)
            webService.deleteUudis(id);

            Response.Redirect("~/uudised.aspx");
        }

    }   //END class
}   //END namespace